草庐IT

php GearmanClient超时

全部标签

python - 具有超时的多个子进程

我正在使用依赖于SIGALRM的配方来设置警报中断--Usingmodule'subprocess'withtimeout问题是我有多个Python脚本使用signal.ALARM进程来设置超时,并且只调用最新的警报。改进此多个Python函数设置超时的好方法是什么? 最佳答案 除了简单、快速的hack,避免使用SIGALRM。这是一种非常古老、有限的机制,不适合更复杂的情况:您只能设置一个警报,并且它会同时中断任何系统调用,而不仅仅是您打算中断的系统调用。使用超时线程杀死进程会更干净,例如:importsubprocess,sig

python - 在 python 中使用线程的超时函数不起作用

我找到了创建超时函数的代码here,这似乎不起作用。完整的测试代码如下:deftimeout(func,args=(),kwargs={},timeout_duration=1,default=None):importthreadingclassInterruptableThread(threading.Thread):def__init__(self):threading.Thread.__init__(self)self.result=Nonedefrun(self):try:self.result=func(*args,**kwargs)except:self.result=de

.net - 等待单个 RabbitMQ 消息超时

我想向RabbitMQ服务器发送消息,然后等待回复消息(在“回复”队列中)。当然,我不想永远等待,以防处理这些消息的应用程序出现故障-需要超时。这听起来像是一项非常基本的任务,但我找不到执行此操作的方法。我现在遇到了这个问题py-amqplib和RabbitMQ.NETclient.到目前为止我得到的最好的解决方案是使用basic_get和中间的sleep进行轮询,但这非常难看:def_wait_for_message_with_timeout(channel,queue_name,timeout):slept=0sleep_interval=0.1whileslept肯定有更好的方法

python - HTTP requests.post 超时

在我下面的代码中,我使用了requests.post。如果站点出现故障,有什么可能继续运行?我有以下代码:defpost_test():importrequestsurl='http://example.com:8000/submit'payload={'data1':1,'data2':2}try:r=requests.post(url,data=payload)except:return#iftherequests.postfails(eg.thesiteisdown)Iwantsimlytoreturnfromthepost_test().Currenlyithangsupint

python - Windows 的 Celery 任务超时/时间限制?

我有一个用Flask编写的Web应用程序,目前正在Windows上的IIS上运行(不要问...)。我正在使用Celery来处理一些异步处理(访问慢速数据库并生成报告)。但是,在尝试设置一些错误处理行为时,我在docs中遇到了这个问题:"TimelimitsdonotcurrentlyworkonWindowsandotherplatformsthatdonotsupporttheSIGUSR1signal."由于数据库可能会变得非常慢,我真的很希望能够为我的任务指定超时行为,并让它们稍后在数据库可能没有如此任务时重试。由于各种原因,该应用必须从Windows提供,是否有任何解决方法?非

python - 如何在 scrapy-splash 中设置启动超时?

我使用scrapy-splash抓取网页,并在docker上运行splash服务。常见的:dockerrun-p8050:8050scrapinghub/splash--max-timeout3600但是我遇到了504错误。"error":{"info":{"timeout":30},"description":"Timeoutexceededrenderingpage","error":504,"type":"GlobalTimeoutError"}尽管我尝试添加splash.resource_timeout、request:set_timeout或SPLASH_URL='http:

python - 可靠地检测页面加载或超时,Selenium 2

我正在使用Selenium2(2.33版Python绑定(bind),Firefox驱动程序)编写一个通用的网络抓取工具。它应该采用任意URL、加载页面并报告所有出站链接。由于URL是任意的,我无法对页面内容做出任何假设,因此通常的建议(等待特定元素出现)不适用。我有代码应该轮询document.readyState直到它达到“完成”或30秒超时已经过去,然后继续:defreadystate_complete(d):#AFAICTSeleniumoffersnobetterwaytowaitforthedocumenttobeloaded,#ifoneisinignoranceofit

python - 使用 Python urllib 超时文件下载?

这里是Python初学者。如果该过程花费的时间超过500秒,我希望能够使我的视频文件下载超时。importurllibtry:urllib.urlretrieve("http://www.videoURL.mp4","filename.mp4")exceptExceptionase:print("error")我该如何修改我的代码来实现这一点? 最佳答案 更好的方法是使用requests,这样您就可以流式传输结果并轻松检查超时:importrequests#Maketheactualrequest,setthetimeoutforn

python - 调用 SQL Server 时忽略 pyodbc.connect 超时参数

我在带有FreeTDS的Linux上使用pyodbc连接到SQLServer2005。我注意到我的连接超时参数没有被我的查询接受。当我运行以下命令时,我希望在两个cursor.execute调用之后看到超时错误。importpyodbcimporttimeconnString='SERVER=dbserver;PORT=1433;DATABASE=db;UID=dbuser;PWD=dbpwd;'+\'DRIVER=FreeTDS'cnxn=pyodbc.connect(connString,timeout=3)cursor=cnxn.cursor()t1=time.time()cur

python - 是否可以在 Twisted 中的套接字上设置超时?

我意识到我可能只是愚蠢而遗漏了一些重要的东西,但我无法弄清楚如何使用reactor.listenUDP在twisted中指定超时。我的目标是能够指定超时,并且在所述时间后,如果DatagramProtocol.datagramReceived尚未执行,则让它执行回调或我可以用来调用reactor.stop()的东西。任何帮助或建议表示赞赏。谢谢 最佳答案 我认为reactor.callLater比LoopingCall效果更好。像这样:classProtocol(DatagramProtocol):def__init__(self,